<!-- Documentation produced by the Html generator of Bouml (http://bouml.free.fr) -->
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
<title>techmart
Documentation</title>
<link rel="stylesheet" href="style.css" type="text/css" />
</head>

<body bgcolor="#ffffff">

<div class = "title">techmart<br />Documentation</div>
<p></p>

<!-- ============================================================= -->

<a name="refpackage129"></a>
<a name="refuse case view128208"></a>
<h1 class ="view">1 Use Case View frontend</h1>
<p>The package provides all functions for end-users (guest,seller,buyers..) to work with the system<br /></p>
<div class="sub">
<a name="refuse case diagram128208"></a>
<p align="center"><img src="fig128208.png" alt="" /></p>
 <p align="center"><b>frontend</b></p><p><br /></p><p><br /></p>
<table><tr><td><div class="element">Class <b><a href="class128208.html#refclass128208"><b>Sellers</b></a></b></div></td></tr></table>
<table><tr><td><div class="element">Class <b><a href="class128336.html#refclass128336"><b>Buyers</b></a></b></div></td></tr></table>
<table><tr><td><div class="element">Class <b><a href="class128304.html#refclass128304"><b>Guests</b></a></b></div></td></tr></table>
<table><tr><td><div class="element">Class <b><a href="class128432.html#refclass128432"><b>Users</b></a></b></div></td></tr></table>
<a name="refuse case128642"></a>
<h2 class ="usecase">1.1 Use Case authentication</h2>
<div class="sub">
<a name="refsequence diagram128898"></a>
<p align="center"><img src="fig128898.png" alt="" /></p>
 <p align="center"><b>authentication</b></p><p><br /></p><p><br /></p>
<p><br /><br /><br /></p></div>
<a name="refuse case129072"></a>
<h2 class ="usecase">1.2 Use Case rating</h2>
<div class="sub">
<a name="refsequence diagram128258"></a>
<p align="center"><img src="fig128258.png" alt="" /></p>
 <p align="center"><b>rating</b></p><p><br /></p><p><br /></p>
<table><tr><td><div class="element">Class <b><a href="class128495.html#refclass128495"><b>rating</b></a></b></div></td></tr></table>
<a name="refclass instance128751"></a>
<table><tr><td><div class="element">Class instance  <b>Admin</div></td></tr></table><p>type :<a href="class128239.html#refclass128239"><b>Admin</b></a></p><a name="refclass instance128879"></a>
<table><tr><td><div class="element">Class instance  <b>guest</div></td></tr></table><p>type :<a href="class128304.html#refclass128304"><b>Guests</b></a></p><a name="refuse case128111"></a>
<h3 class ="usecase">1.2.1 Use Case public_rating</h3>
<div class="sub">
<a name="refsequence diagram128130"></a>
<p align="center"><img src="fig128130.png" alt="" /></p>
 <p align="center"><b>public_rating</b></p><p><br /></p><p><br /></p>
<p>check_duplicate() ensures that  rating could not make twice based on the account and source IP address<br /></p></div>
<a name="refclass instance128258"></a>
<table><tr><td><div class="element">Class instance  <b>Users</div></td></tr></table><p>type :<a href="class128432.html#refclass128432"><b>Users</b></a></p></div>
<a name="refuse case128176"></a>
<h2 class ="usecase">1.3 Use Case registration</h2>
<p>Allow people to register to be a registered users. Registered users can be escalated to be sellers or buyers<br /></p>
<div class="sub">
<a name="refsequence diagram128111"></a>
<p align="center"><img src="fig128111.png" alt="" /></p>
 <p align="center"><b>registration</b></p><p><br /></p><p><br /></p>
<p>1.select_account_form(): show form with recommended accounts to select<br />2.check_availability() : check the availability of selected account and return a list of recommended account if it is not available <br />3.check_registration() : ensure that  user's email is not duplicated<br /><br /><br /></p><a name="refuse case129328"></a>
<h3 class ="usecase">1.3.1 Use Case change_registration</h3>
<div class="sub">
<a name="refsequence diagram128514"></a>
<p align="center"><img src="fig128514.png" alt="" /></p>
 <p align="center"><b>chang_registration</b></p><p><br /></p><p><br /></p>
<p>1.check_registration() : ensure that  user's email is not duplicated<br />2.log_changes() : keep log on successful changes<br /><br /><br /></p><a name="refclass instance128386"></a>
<table><tr><td><div class="element">Class instance  <b>Users</div></td></tr></table><p>type :<a href="class128432.html#refclass128432"><b>Users</b></a></p></div>
<a name="refclass instance128002"></a>
<table><tr><td><div class="element">Class instance  <b>system</div></td></tr></table><p>type :<a href="class128386.html#refclass128386"><b>system</b></a></p></div>
<p>Diagram : <a href="index.html#refuse case diagram128208"><b>frontend</b></a></p>
<a name="refuse case128560"></a>
<h2 class ="usecase">1.4 Use Case post_adverts</h2>
<div class="sub">
<a name="refsequence diagram128386"></a>
<p align="center"><img src="fig128386.png" alt="" /></p>
 <p align="center"><b>post_adverts</b></p><p><br /></p><p><br /></p>
<p>1)  advert statuses<br />- newStatus : advert is a newly posted<br />- reviewStatus : advert was put in queue for system verfication<br />- userReviewStatus : advert was put in queue for user reviewing<br />- deletedStatus  : product was temporarily  deleted and will be deleted permenantly by  purge_deleted_adverts()<br />- activeStatus : advert was  currently public<br />- closedStatus : advert was closed (not  publicly viewed  and  hidden firom all system tasks)<br /><br />(2) auto_verification()   :  adverts  with  newStatus and modifiedStatus are changed to completedStatus automatically after a period of queuing<br /><br />(3) save_advert () : <br />- Users can only make change  to newStatus / reviewStatus adverts<br />- Admin can make changes to all  adverts<br /><br />(4) delete_advert () : <br />- Users can only delete  newStatus/ reviewStatus  adverts<br />- Admins can delete  all  adverts except for  closed adverts<br />- Supers admin can delete all  adverts.<br /><br /><br /></p><a name="refuse case129200"></a>
<h3 class ="usecase">1.4.1 Use Case post_small_adverts</h3>
<div class="sub">
<a name="refsequence diagram128642"></a>
<p align="center"><img src="fig128642.png" alt="" /></p>
 <p align="center"><b>post_small_advert</b></p><p><br /></p><p><br /></p>
<p>Same as post_adverts except for<br />(1) No  userReviewStatus<br />(2) delete_advert () : <br />- Users can only delete  newStatus/ reviewStatus  adverts<br />- Admins can delete  all  adverts<br /><br /><br /></p><a name="refclass instance129232"></a>
<table><tr><td><div class="element">Class instance  <b></div></td></tr></table><p>type :<a href="class128239.html#refclass128239"><b>Admin</b></a></p><table><tr><td><div class="element">Class <b><a href="class128064.html#refclass128064"><b>post_small_adverts</b></a></b></div></td></tr></table>
<a name="refclass instance128130"></a>
<table><tr><td><div class="element">Class instance  <b>system</div></td></tr></table><p>type :<a href="class128386.html#refclass128386"><b>system</b></a></p><table><tr><td><div class="element">Class <b><a href="class128258.html#refclass128258"><b>post_adverts</b></a></b></div></td></tr></table>
</div>
</div>
<a name="refuse case128304"></a>
<h2 class ="usecase">1.5 Use Case post_selling_products</h2>
<div class="sub">
<a name="refsequence diagram128770"></a>
<p align="center"><img src="fig128770.png" alt="" /></p>
 <p align="center"><b>post_selling_products</b></p><p><br /></p><p><br /></p>
<p>1)save_product()  <br />- newStatus : product is a newly posted<br />- userReviewStatus : product was put in queue for user reviewing<br />- reviewStatus : product was put in queue for system verfication <br />- deletedStatus , userDeletedStatus : product was temporarily  deleted and will be deleted permenantly by  purge_deleted_products()<br />- activeStatus : product was public displayed<br />- closedStatus : advert was closed (not  publicly viewed  and  hidden firom all system tasks)<br /><br />(2) auto_verification()   : products  with   newStatus and modifiedStatus are changed to completedStatus automatically after a period of  time<br /><br />(3) save_product () : <br />- Users can only make change  to newStatus / reviewStatus adverts<br />- Admin can make changes to all  adverts<br /><br />(4) delete_product() : <br />-  Users can only delete  newStatus/ reviewStatus  adverts of themselves<br />- Admins can delete  all  adverts except for  closed adverts<br />- Supers admin can delete all  adverts.<br /><br /><br /><br /><br /><br /><br /><br /><br /></p></div>
<a name="refuse case128432"></a>
<h2 class ="usecase">1.6 Use Case post_buying_requests</h2>
<div class="sub">
<a name="refsequence diagram129026"></a>
<p align="center"><img src="fig129026.png" alt="" /></p>
 <p align="center"><b>post_buying_requests</b></p><p><br /></p><p><br /></p>
<p>1)save_product()  <br />- newState : buy request is a newly posted<br />- modifiedState : buy request was modified by owner<br />- userReviewState : buy request was put in queue for user reviewing<br />- reviewState : buy request was put in queue for system verfication <br />- deletedState , userDeletedState: buy request was temporarily  deleted and will be deleted permenantly by  purge_deleted_buy requests()<br />- activeState : buy request was publicly displayed<br />- closedStatus : buy request was closed (not  publicly viewed  and  hidden firom all system tasks)<br /><br />(2) auto_verification()   : product s  with   newState and modifiedState are changed to completedState automatically after a period of  time<br /><br /><br /><br /><br /></p></div>
<a name="refuse case128688"></a>
<h2 class ="usecase">1.7 Use Case post_news</h2>
<div class="sub">
<a name="refsequence diagram129154"></a>
<p align="center"><img src="fig129154.png" alt="" /></p>
 <p align="center"><b>post_news</b></p><p><br /></p><p><br /></p>
<p>1)save_news()  <br />- newState : news  is a newly posted<br />- modifiedStatus : news was modified by owner<br />- userReviewStatus : news was put in queue for user reviewing<br />- reviewStatus : news was put in queue for system verfication <br />- deletedStatus , userDeletedState: news request was temporarily  deleted and will be deleted permenantly by  purge_deleted_buy requests()<br />- activedStatus : news was accepted for publicly displaying<br />- closedStatus : news was closed  and not  publicly viewed. <br /><br />(2) auto_verification()   : news   with  newStatus and reviewStatus are changed to activeStatus automatically after a period of  time<br /><br />(3) modify_news_contents()  :  <br />- Users  can only  modify  a newStatus news.<br />- Admin can modify all news except for closeStatus<br />- SupperAdmin can modify all news<br /><br /><br /></p></div>
<a name="refuse case128816"></a>
<h2 class ="usecase">1.8 Use Case messaging</h2>
<div class="sub">
<a name="refsequence diagram129282"></a>
<p align="center"><img src="fig129282.png" alt="" /></p>
 <p align="center"><b>messaging</b></p><p><br /></p><p><br /></p>
<p>list_my_message()  : List  private messages,  for example message exchanged between admins<br /><br />list_users_message()  : List  messages send form users. When users send message to admin, all admin (except super admin) will see the message.<br /><br />show_message()  : display the selected message<br /><br />reply_message()  : reply private message and put message in OUTBOX<br /><br />delete_message()  : delete private message only<br /><br />select_receiver()  : select list of users or group to send message.<br /><br />create_message()  : create message to send. <br />If receiver is set to "ALL", all users in the system will reveive the mesage.<br />If receiver is set to "ADMIN", all admin except supperAdmin  will reveive the mesage.<br />If receiver is set to "ONLINE"  all online users in the system will reveive the mesage.<br /><br />create_group() :  create group of users ( group canno be included in other group)<br />delete_group() :  delete selected  group<br />modify_group() :  add/delte users in selected  group<br /><br />maintenance(n)  : detele message entries older than n months in OUTBOX <br />maintenance(n,deleteMesage)  :  delete all messages  older than n months in OUTBOX . The funtion can only be run by supperAdmin .<br /><br /><br /><br /></p></div>
<a name="refuse case128944"></a>
<h2 class ="usecase">1.9 Use Case change_showroom_appearance</h2>
<a name="refclass instance128239"></a>
<table><tr><td><div class="element">Class instance  <b>User</div></td></tr></table><p>type :<a href="class128002.html#refclass128002"><b>guests</b></a></p><a name="refclass instance128367"></a>
<table><tr><td><div class="element">Class instance  <b>admin</div></td></tr></table><p>type :<a href="class128239.html#refclass128239"><b>Admin</b></a></p><table><tr><td><div class="element">Class <b><a href="class128367.html#refclass128367"><b>registration</b></a></b></div></td></tr></table>
<a name="refclass instance128495"></a>
<table><tr><td><div class="element">Class instance  <b>rating</div></td></tr></table><p>type :<a href="class128386.html#refclass128386"><b>system</b></a></p><table><tr><td><div class="element">Class <b><a href="class128002.html#refclass128002"><b>guests</b></a></b></div></td></tr></table>
<table><tr><td><div class="element">Class <b><a href="class128386.html#refclass128386"><b>system</b></a></b></div></td></tr></table>
</div>
<a name="refuse case view128176"></a>
<h1 class ="view">2 Use Case View backend</h1>
<p>The package provides functions for administrative users to manage the system online<br /></p>
<div class="sub">
<a name="refuse case diagram128176"></a>
<p align="center"><img src="fig128176.png" alt="" /></p>
 <p align="center"><b>backend</b></p><p><br /></p><p><br /></p>
<table><tr><td><div class="element">Class <b><a href="class128176.html#refclass128176"><b>SuperAdmin</b></a></b></div></td></tr></table>
<table><tr><td><div class="element">Class <b><a href="class128239.html#refclass128239"><b>Admin</b></a></b></div></td></tr></table>
<a name="refuse case129456"></a>
<h2 class ="usecase">2.1 Use Case manage_member_accounts</h2>
<a name="refuse case129584"></a>
<h2 class ="usecase">2.2 Use Case verify</h2>
<a name="refuse case129712"></a>
<h2 class ="usecase">2.3 Use Case create_showroom</h2>
<a name="refuse case129840"></a>
<h2 class ="usecase">2.4 Use Case e-marketing</h2>
<a name="refuse case129968"></a>
<h2 class ="usecase">2.5 Use Case reporting</h2>
<a name="refuse case130096"></a>
<h2 class ="usecase">2.6 Use Case auditing</h2>
<a name="refuse case130224"></a>
<h2 class ="usecase">2.7 Use Case import data </h2>
<a name="refuse case130352"></a>
<h2 class ="usecase">2.8 Use Case export data</h2>
<a name="refuse case130480"></a>
<h2 class ="usecase">2.9 Use Case configuration</h2>
<div class="sub">
</div>
<a name="refuse case130608"></a>
<h2 class ="usecase">2.10 Use Case asign admin roles</h2>
<a name="refuse case130736"></a>
<h2 class ="usecase">2.11 Use Case messaging</h2>
<a name="refuse case130864"></a>
<h2 class ="usecase">2.12 Use Case manage_admin_account</h2>
<a name="refuse case130992"></a>
<h2 class ="usecase">2.13 Use Case verify_selling_product</h2>
<div class="sub">
</div>
<a name="refuse case131120"></a>
<h2 class ="usecase">2.14 Use Case verify_adverts</h2>
<div class="sub">
</div>
<a name="refuse case131248"></a>
<h2 class ="usecase">2.15 Use Case verify_news</h2>
<div class="sub">
</div>
<a name="refuse case131376"></a>
<h2 class ="usecase">2.16 Use Case verify_small_adverts</h2>
<div class="sub">
</div>
<a name="refuse case131504"></a>
<h2 class ="usecase">2.17 Use Case verify_buying_request</h2>
<div class="sub">
</div>
<a name="refuse case128002"></a>
<h2 class ="usecase">2.18 Use Case manage_masterData</h2>
<a name="refuse case128130"></a>
<h2 class ="usecase">2.19 Use Case portal_configuration</h2>
<a name="refuse case128258"></a>
<h2 class ="usecase">2.20 Use Case management</h2>
<a name="refuse case128386"></a>
<h2 class ="usecase">2.21 Use Case auto_verification_configuration()</h2>
<a name="refuse case128514"></a>
<h2 class ="usecase">2.22 Use Case emarketing_configuration()</h2>
<table><tr><td><div class="element">Class <b><a href="class128770.html#refclass128770"><b>Store_subscriber</b></a></b></div></td></tr></table>
<a name="refuse case128770"></a>
<h2 class ="usecase">2.23 Use Case showroom_management</h2>
</div>
<a name="refclass view128258"></a>
<h1 class ="view">3 Class View activity</h1>
<div class="sub">
<a name="refactivity128258"></a>
<h2 class ="activity">3.1 Activity check_logon_state</h2>
<p>Pre Condition :</p><ul></ul><p>Post Condition :</p><ul></ul><p>Check whether  the user had loged in current session<br /></p><div class="sub">
<a name="refmerge activity node128642"></a>
<a name="refmerge activity node128642"></a>
<table><tr><td><div class="element">Merge activity node <b>check_logon_state()</b></div></td></tr></table>
<p>Check whether  the user had loged in current session<br /></p>
<p>Defined in <a href="index.html#refactivity128258"><b>check_logon_state</b></a></p></div>
</div>
</body>
</html>
